def get(x):
    if x == fa[x]: return x
    fa[x] = get(fa[x])
    return fa[x]

def merge(x, y):
    x = get(x)
    y = get(y)
    if x != y: fa[x] = y

n, k = map(int, input().split())
fa = [i for i in range(n * 3 + 1)]
ans = 0
for i in range(k):
    d, x, y = map(int, input().split())
    if x < 1 or y < 1 or x > n or y > n:
        ans += 1
        continue
    if d == 1:
        if get(x) == get(y + n) or get(x) == get(y + n * 2): ans += 1
        else:
            merge(x, y)
            merge(x + n, y + n)
            merge(x + n * 2, y + n * 2)
    else:
        if get(x) == get(y) or get(x) == get(y + n * 2): ans += 1
        else:
            merge(x, y + n)
            merge(x + n, y + n * 2)
            merge(x + n * 2, y)
print(ans)
# -------------------------------------------------------------------------------

# 比赛环境为python3.8.6版本自带的IDLE，最好早点熟悉一下。。这个东西的提示时有时无

# 菜单栏最右边的Help的Python Docs 比赛时候也可以看，不过建议还是提前多了解了解，

# 比赛的时候至少知道在文档找什么能用的上。

# IDLE是下载Python时自带的，在按住win+s搜索IDLE就能搜到了。

# 然后点左上角的File可以创建新文件，然后按F5可以运行。
